<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // let obj = {
        //     function(){}:678
        // }

        // console.log(obj);

        // 键值对表达方式的数据类型
        // 键名的数据类型：可以随意设置的
        let fn1 = function(){
                console.log(888);
            };

        let m1 = new Map([
            ["name",'lawang'],
            ["age",18],
            [66,88],
            [fn1,123]
        ]);

        // console.log(m1);

        // console.log(m1.size);

        // // 设置map属性
        // m1.set({name:123},'laowang');

        // // 获取map中的属性值
        // console.log(m1.get("name"));


        // // 获取键名是函数的，属性值
        // console.log(m1.get(fn1));

        console.log(m1);

        // 它们的原型对象下都具备Symbol(Symbol.iterator) 属性
        // 都支持for of

        // m1.forEach((val,key)=>{
        //     console.log(val);
        //     console.log(key);
        // });
        for(let item of m1){
            console.log(item);
        }

        let s1 = new Set([1,2,3,4,1,2,3]);

        console.log(s1);

        for(let item of s1){
            console.log(item);
        }

        let arr = [1,2,3,4];

        console.log(arr);

        for(let item of arr){
            console.log(arr);
        }

        // 对象不是一个可迭代对象
        let obj = {
            name:"laowang",
            age:18
        }

        console.log(obj);

        for(let item of obj){
            console.log(item);
        }

    </script>
</body>
</html>